home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / lib / X11 / config / sun.cf < prev    next >
Text File  |  2006-04-12  |  21KB  |  714 lines

  1. XCOMM $XdotOrg: xc/config/cf/sun.cf,v 1.9.2.1 2005/01/13 01:18:47 gisburn Exp $
  2. XCOMM platform:  $Xorg: sun.cf,v 1.4 2000/08/17 19:41:48 cpqbld Exp $
  3.  
  4.  
  5.  
  6.  
  7. XCOMM platform:  $XFree86: xc/config/cf/sun.cf,v 3.70 2004/01/13 02:42:51 tsi Exp $
  8.  
  9. #ifndef OSName
  10. # define OSName        DefaultOSName
  11. #endif
  12. #ifndef OSMajorVersion
  13. # define OSMajorVersion    DefaultOSMajorVersion
  14. #endif
  15. #ifndef OSMinorVersion
  16. # define OSMinorVersion    DefaultOSMinorVersion
  17. #endif
  18. #ifndef OSTeenyVersion
  19. # define OSTeenyVersion    DefaultOSTeenyVersion
  20. #endif
  21. XCOMM operating system:  OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
  22.  
  23. /*
  24.  * Compiler setup.  This sun.cf file knows what options to use with 
  25.  * certain compilers, including Sun C, CenterLine C, and gcc.  It 
  26.  * also understands how to set some of the options for various C++
  27.  * compilers, including Sun C++ and CenterLine C++.
  28.  *
  29.  * === C Compiler Setup ==========================================
  30.  *
  31.  * For SunPro C, define HasSunC to YES in site.def.  
  32.  * For CenterLine C, define HasCenterLineC to YES in site.def
  33.  * For gcc, gcc2 or gcc3, define HasGcc, HasGcc2 or HasGcc3 to YES in site.def
  34.  * For other compilers, define HasSunC to NO in site.def, then 
  35.  *    provide appropriate values for the various compiler related
  36.  *    configuration varibles used here.
  37.  * 
  38.  * If you don't tell us which C compiler you have, we assume you have 
  39.  * the SunPro C compiler under Solaris 2.x, and the bundled /bin/cc 
  40.  * under SunOS 4.1.x
  41.  *
  42.  * === C++ Compiler Setup ==========================================
  43.  *
  44.  * For SunPro C++, define HasSunCplusplus to YES in site.def
  45.  * For CenterLine C++, define HasCenterLineCplusplus to YES in site.def
  46.  * For Gnu g++ 2.6.x, define HasGcc2ForCplusplus to YES in site.def
  47.  * For other compilers, define HasCplusplus to YES in site.def, and 
  48.  *    check to see if you need to provide values for CplusplusOptions
  49.  *    and/or DefaultCplusplusOptions.
  50.  *
  51.  * In any case, you may also need to set CplusplusDependIncludes.
  52.  *
  53.  * If you say you have the SunPro C++ compiler, we assume you have 
  54.  * version 3.0.x of the compiler.  If you have version 4.0.x instead, 
  55.  * define CplusplusCompilerMajorVersion as 4 in site.def.
  56.  *
  57.  */
  58.  
  59. #ifndef HasGcc3
  60. #define HasGcc3 NO
  61. #endif
  62. #ifndef HasGcc2
  63. #define HasGcc2 HasGcc3
  64. #endif
  65. #ifndef HasGcc
  66. #define HasGcc HasGcc2
  67. #endif
  68.  
  69. #ifndef HasSunC
  70. # if HasCenterLineC || HasGcc || HasGcc2 || HasGcc3 || (OSMajorVersion < 5)
  71. #  define HasSunC NO
  72. # else
  73. #  define HasSunC YES
  74. # endif
  75. #endif
  76.  
  77. #if HasSunC 
  78. # ifndef CCompilerMajorVersion
  79. #  define CCompilerMajorVersion DefaultSunProCCompilerMajorVersion
  80. # endif
  81. # ifndef CCompilerMinorVersion
  82. #  define CCompilerMinorVersion DefaultSunProCCompilerMinorVersion
  83. # endif
  84. XCOMM SunPro C CCompilerMajorVersion./**/CCompilerMinorVersion
  85.  
  86. /* Choose some reasonable default optimizer flags based on compiler & 
  87.    OS versions */
  88. # ifndef OptimizedCDebugFlags
  89. #  if (CCompilerMajorVersion > 5) || \
  90.     (CCompilerMajorVersion == 5 && CCompilerMinorVersion > 2)
  91. #   define OptimizedCDebugFlags -xO4 -xbuiltin=%all -xlibmil -xstrconst ArchOptimizedFlags
  92. #  else
  93. #   define OptimizedCDebugFlags -xO4 -xstrconst ArchOptimizedFlags
  94. #  endif
  95. # endif
  96. # ifndef ArchOptimizedFlags
  97. #  if OSMajorVersion == 5 
  98. #   if defined(SparcArchitecture) && !defined(Sparc64Architecture)
  99. #    if OSMinorVersion > 9 /* Solaris 10 and later only run on UltraSPARC's */
  100. #     define ArchOptimizedFlags -xarch=v8plus
  101. #    else
  102. #     define ArchOptimizedFlags -xarch=v8
  103. #    endif
  104. #   elif defined(i386Architecture)
  105. #    if OSMinorVersion > 8 /* Solaris 9 and later require Pentium or better */
  106. #     define ArchOptimizedFlags -xpentium
  107. #    endif
  108. #   endif
  109. #  endif
  110. #  ifndef ArchOptimizedFlags
  111. #   define ArchOptimizedFlags /**/
  112. #  endif
  113. # endif
  114. # ifndef DefaultCDebugFlags
  115. #  define DefaultCDebugFlags OptimizedCDebugFlags
  116. # endif
  117. # ifndef SharedLibraryLdCmd
  118. #  define SharedLibraryLdCmd $(CC)
  119. # endif
  120. /* Flags for lint version included with Sun C compilers */
  121. # if OSMajorVersion >= 5
  122. #  ifndef LintLibFlag
  123. #   define LintLibFlag -y -o
  124. #  endif
  125. #  ifndef LintOpts
  126. #   define LintOpts -b -h -u -erroff=E_INDISTING_FROM_TRUNC2 $(LINTSECFLAG) ExtraLibraries MathLibrary -lc
  127. #  endif
  128. #  ifndef LintSecFlag
  129. #   if (CCompilerMajorVersion > 5) || \
  130.        (CCompilerMajorVersion == 5 && CCompilerMinorVersion >= 6)
  131. #    define LintSecFlag -errsecurity=standard
  132. #   else
  133. #    define LintSecFlag /**/
  134. #   endif
  135. #  endif
  136.       LINTSECFLAG = LintSecFlag
  137. #  ifndef LintLibReferences
  138. #   define LintLibReferences(varname,libname,libsource)                    @@\
  139.        Concat(LINT,varname) = _UseCat(-L $(LINTLIBDIR) -l, -L libsource -l,libname)
  140. #  endif
  141.  
  142. # endif /* Lint Flags for Solaris */
  143.  
  144. #endif /* HasSunC */
  145.  
  146. /* we used to have this here :
  147.  *
  148.  * #if HasSunC 
  149.  * # ifndef CCompilerMajorVersion
  150.  * #  define CCompilerMajorVersion 3
  151.  * #  define DefaultCDebugFlags    -xO3
  152.  * #  define OptimizedCDebugFlags    -xO3
  153.  * # endif
  154.  * #endif
  155.  */
  156.  
  157. #ifndef HasSunCplusplus
  158. # define HasSunCplusplus HasSunC    /* ??? */
  159. #endif
  160. #if HasSunCplusplus
  161. # ifndef HasCplusplus
  162. #  define HasCplusplus YES
  163. #  define OptimizedCplusplusDebugFlags    -xO4 -xbuiltin=%all -xlibmil
  164. # endif
  165. # ifndef CplusplusCompilerMajorVersion
  166. #  ifdef DefaultSunProCplusplusCompilerMajorVersion
  167. #   define CplusplusCompilerMajorVersion DefaultSunProCplusplusCompilerMajorVersion
  168. #  else
  169. #   define CplusplusCompilerMajorVersion 3
  170. #  endif
  171. # endif
  172. # ifndef CplusplusCompilerMinorVersion
  173. #  ifdef DefaultSunProCplusplusCompilerMinorVersion
  174. #   define CplusplusCompilerMinorVersion DefaultSunProCplusplusCompilerMinorVersion
  175. #  else
  176. #   define CplusplusCompilerMinorVersion 0
  177. #  endif
  178. # endif
  179. XCOMM SunPro C++ CplusplusCompilerMajorVersion./**/CplusplusCompilerMinorVersion
  180. #endif
  181.  
  182. /* we used to have this here :
  183.  *
  184.  * # ifndef CplusplusCompilerMajorVersion
  185.  * #  define CplusplusCompilerMajorVersion    4
  186.  * # endif
  187.  */
  188.  
  189. #if HasCenterLineC
  190. # ifndef CcCmd
  191. #  define CcCmd clcc
  192. # endif
  193. #endif
  194.  
  195. #if HasCenterLineCplusplus
  196. # ifndef HasCplusplus
  197. #  define HasCplusplus YES
  198. # endif
  199. # ifndef DefaultCplusplusOptions
  200. #  define DefaultCplusplusOptions -Xa
  201. # endif
  202. # ifndef CplusplusOptions
  203. #  define CplusplusOptions -Xa
  204. # endif
  205. #endif
  206.  
  207. #if OSMajorVersion < 4 || (OSMajorVersion == 4 && OSMinorVersion < 1)
  208. /* We do not guarantee this will work */
  209. # define BootstrapCFlags    -DNOSTDHDRS
  210. # define StandardDefines    -DNOSTDHDRS
  211. # define XawI18nDefines        -DUSE_XWCHAR_STRING -DUSE_XMBTOWC
  212. #endif
  213.  
  214. #if OSMajorVersion == 4 
  215. # if OSMinorVersion == 1
  216. #  define HasPoll        YES
  217. # endif
  218. # if OSMinorVersion > 1 || (OSMinorVersion == 1 && OSTeenyVersion > 1)
  219. /* You ALSO need this if you have Sun ld patch 100170-06 or later to 4.1.1 */
  220. #  define SunPost411FCSLd    YES
  221. # endif
  222. #endif
  223.  
  224. /* The Xsun server was not building for SunOS 5.7 due to 
  225.    includes of <sys/cg2reg.h>. 
  226. */
  227. #if OSMajorVersion < 5 
  228. # define IncludeCG2HeaderDefine    -DINCLUDE_CG2_HEADER
  229. #else
  230. # define IncludeCG2HeaderDefine /**/
  231. #endif
  232.  
  233. #ifdef i386Architecture
  234. # if OSMajorVersion > 4
  235. #  if OSMinorVersion >= 8
  236. #   define OSServerExtraDefines    -D__SOL8__
  237. #  endif
  238. #  if HasSunC
  239. #   define CompilerServerExtraDefines $(XF86SRC)/os-support/sunos/ia32.il
  240. #  endif
  241. # endif
  242. #else
  243. #  if HasSunC
  244. #   define CompilerServerExtraDefines $(XF86SRC)/os-support/sunos/sparcv8plus.il
  245. #  endif
  246. # define HasPlugin        YES
  247. #endif
  248.  
  249. #ifndef CompilerServerExtraDefines
  250. # define CompilerServerExtraDefines /**/
  251. #endif
  252.  
  253. #ifndef OSServerExtraDefines
  254. # define OSServerExtraDefines    /**/
  255. #endif
  256.  
  257.  
  258. #define ServerOSDefines        XFree86ServerOSDefines IncludeCG2HeaderDefine
  259. #define ServerExtraDefines    AllocateLocalDefines XFree86ServerDefines \
  260.                 CompilerServerExtraDefines OSServerExtraDefines
  261.  
  262. #ifndef HasPerl
  263. /* Solaris 8 comes with perl.  Earlier versions don't. */
  264. # if (OSMajorVersion == 5) && (OSMinorVersion >= 8)
  265. #  define HasPerl        YES
  266. # else
  267. #  define HasPerl        NO
  268. # endif
  269. #endif
  270.  
  271. #define XkbServerDefines  -DXKB_ALWAYS_USES_SOFT_REPEAT
  272.  
  273. #if OSMajorVersion > 4
  274. # define ConnectionFlags        -DTCPCONN -DUNIXCONN -DLOCALCONN
  275. # if HasSunC
  276. #  ifdef DefaultSunProCCompilerDir
  277. #   ifndef  CcCmd
  278. #    define CcCmd        DefaultSunProCCompilerDir/cc
  279. #   endif
  280. #  endif
  281. #  ifdef DefaultSunProCplusplusCompilerDir
  282. #   ifndef  CplusplusCmd
  283. #    define CplusplusCmd    DefaultSunProCplusplusCompilerDir/CC
  284. #   endif
  285. #   ifndef  CplusplusFilt
  286. #    define CplusplusFilt    DefaultSunProCplusplusCompilerDir/c++filt
  287. #   endif
  288. #   ifndef  CplusplusWhatdir
  289. #    define CplusplusWhatdir    DefaultSunProCplusplusCompilerDir/whatdir
  290. #   endif
  291. #  else /* DefaultSunProCplusplusCompilerDir not defined */
  292. #   ifndef  CplusplusWhatdir
  293. #    define CplusplusWhatdir    whatdir
  294. #   endif
  295. #  endif /* DefaultSunProCplusplusCompilerDir */
  296. #  ifndef  CplusplusDependIncludes
  297. #   if CplusplusCompilerMajorVersion > 3
  298. #    define CplusplusDependIncludes    -I`CplusplusWhatdir CC`/../include/CC
  299. #   elif CplusplusCompilerMajorVersion > 2
  300. #    define CplusplusDependIncludes    -I/opt/SUNWspro/SC3.0/include/CC
  301. #   else
  302. #    define CplusplusDependIncludes    -I/opt/SUNWspro/SC2.0.1/include/CC
  303. #   endif
  304. #  endif 
  305. # endif /* HasSunC */
  306.  
  307. # if HasSunC && (CCompilerMajorVersion < 3)
  308. #  define BootstrapCFlags    -DSVR4
  309. # else
  310. #  define BootstrapCFlags    /* none needed */
  311. # endif
  312. # ifndef XawI18nDefines
  313. #  if OSMinorVersion < 4
  314. #   define XawI18nDefines    -DHAS_WCTYPE_H -DHAS_ISW_FUNCS
  315. #  else
  316. #   define XawI18nDefines    -DHAS_WCHAR_H -DHAS_ISW_FUNCS
  317. #  endif
  318. # endif
  319. # if OSMinorVersion > 3
  320. #  define InstallCmd        /usr/ucb/install
  321. # endif
  322. # ifdef i386Architecture
  323. #  if (OSMajorVersion < 4) || ((OSMajorVersion == 5) && (OSMinorVersion <= 5))
  324. #   define StandardDefines    -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386 \
  325.                 -D__SOL64__
  326. #  else
  327. #   define StandardDefines    -Dsun -Di386 -DSVR4 -D__EXTENSIONS__ -D__i386
  328. #  endif
  329. #  define ToolkitStringsABIOptions    -intelabi
  330. # else
  331. #  define StandardDefines      -Dsun -Dsparc -DSVR4 -D__EXTENSIONS__
  332. #  define ToolkitStringsABIOptions    -sparcabi
  333. # endif
  334. # define ExtraLibraries    -lsocket -lnsl
  335. # if OSMinorVersion > 1
  336. #  ifndef ThreadedX
  337. #   define ThreadedX      YES
  338. #  endif
  339. #  define MTSafeAPIDefines    -DXUSE_MTSAFE_API -DXUSE_NETDB_R_API
  340. #  if HasSunC && CCompilerMajorVersion > 2
  341. #   define ThreadsCompileFlags -mt
  342. #  else
  343. #   define SystemMTDefines -D_REENTRANT
  344. #   define ThreadsLibraries -lthread
  345. #  endif
  346. #  if HasSunCplusplus && CplusplusCompilerMajorVersion > 3
  347. #   define ThreadsCplusplusCompileFlags -mt
  348. #  else
  349. #   define CplusplusSystemMTDefines -D_REENTRANT
  350. #   define ThreadsCplusplusLibraries -lthread
  351. #  endif
  352. # endif         /* OSMinorVersion > 1 */
  353. # ifndef UseExportLists
  354. #  if (OSMinorVersion > 4) && !HasGcc2
  355. #   define UseExportLists YES
  356. #  else
  357. #   define UseExportLists NO
  358. #  endif
  359. # endif
  360. # if OSMinorVersion > 5 /* Solaris 2.6 and later */
  361. #  define HasSnprintf YES
  362. # endif
  363. # if OSMinorVersion > 7 /* Solaris 8 and later */
  364. #  define HasStrlcat    YES
  365. #  define HasStrcasecmp    YES
  366. #  define HasZlib    YES
  367. # endif
  368. # if OSMinorVersion > 9 /* Solaris 10 and later */
  369. #  define HasSetenv    YES
  370. #  define HasGetpeerucred YES
  371. /* Solaris 10 includes FreeType already.  It's also available in GNOME 2.0 for
  372.  * Solaris 8 & 9, and in Solaris 9 4/03 and later, but there's no easy way to
  373.  * detect that in imake, so users of those releases who want to use the 
  374.  * installed FreeType instead of the one in this tree should copy the following
  375.  * two settings to their host.def.  Those who want to use the in-tree copy
  376.  * regardless of OS version should add "#define HasFreetype2 NO" to host.def.
  377.  */
  378. #  ifndef HasFreetype2
  379. #   define HasFreetype2 YES 
  380. #   ifndef Freetype2Dir
  381. #    define Freetype2Dir /usr/sfw
  382. #   endif
  383. #  endif
  384. # endif
  385. # define HasVFork    NO
  386. # define HasDlopen    YES
  387. # define InstKmemFlags    -g sys -m 2711
  388. # define ShLibIncludeFile <sunLib.tmpl>
  389. # define LinkerRuntimeLibraryPathFlag(path) Concat(-R,path)
  390. /*
  391.  * Set flags for position independent code before including sv4Lib.rules
  392.  * if the compiler in use doesn't use standard SVR4 flags
  393.  */
  394. # if HasSunC || HasCenterLineC
  395. #  define PositionIndependentCFlags -Kpic
  396. #  define LargePositionIndependentCFlags -KPIC
  397. # endif
  398. # if HasSunCplusplus || HasCenterLineCplusplus
  399. #  define PositionIndependentCplusplusFlags -pic
  400. #  define LargePositionIndependentCplusplusFlags -PIC
  401. # endif
  402. #else /* not OSMajorVersion > 4 */
  403. #define InstKmemFlags      -g kmem -m 2711
  404. #include <sunLib.rules>
  405. #endif /* OSMajorVersion > 4 (else) */
  406.  
  407. #define BuildLibPathVar      LD_LIBRARY_PATH
  408. #define HasNdbm          YES
  409. #define HasShm          YES
  410. #define HasSecureRPC      YES
  411. #define SetTtyGroup      YES
  412. #define HasPutenv      YES
  413. #define HasMkstemp        YES
  414. #if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 8))
  415. #define HasDevRandom      YES    /* /dev/random is in Solaris 8 patches     */
  416. #define PollDevRandom      YES    /* /dev/random is poll()able on Solaris */
  417. #endif
  418. #if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 9))
  419. # define HasIssetugid      YES
  420. #endif
  421. #ifndef i386Architecture
  422. # ifndef Xsun24Server
  423. #  define Xsun24Server      NO        /* color, mono, multiple depths */
  424. # endif
  425. # ifndef XsunServer
  426. #  define XsunServer      NO        /* color and mono, 8 bit only */
  427. # endif
  428. # ifndef XsunMonoServer
  429. #  define XsunMonoServer      NO        /* monochrome only */
  430. # endif
  431. # ifndef XorgServer
  432. #  define XorgServer    (!(Xsun24Server || XsunServer || XsunMonoServer))
  433. # endif 
  434. # ifndef BuildPexExt
  435. #  define BuildPexExt      (XsunServer || Xsun24Server)
  436. # endif
  437. # undef BuildXF86DRI
  438. # define BuildXF86DRI     NO
  439. # if (OSMajorVersion > 4)
  440. #  if !defined(AsOutputArchSize) || \
  441.       ((AsOutputArchSize != 32) && (AsOutputArchSize != 64))
  442. #   undef AsOutputArchSize
  443. #   define AsOutputArchSize    32
  444. #  endif
  445. #  ifndef AsVISOption
  446. #   if AsOutputArchSize == 32
  447. #    ifdef UseGas
  448. #     define AsVISOption        -Av8plusa
  449. #    else
  450. #     define AsVISOption        -xarch=v8plusa
  451. #    endif
  452. #   else
  453. #    ifdef UseGas
  454. #     define AsVISOption        -Av9a
  455. #    else
  456. #     define AsVISOption        -xarch=v9a
  457. #    endif
  458. #   endif
  459. #  endif
  460. # endif
  461. #endif /* not i386Architecture */
  462.  
  463. #if OSMajorVersion >= 4
  464. #define HasUsableFileMap YES
  465. #endif
  466.  
  467. #ifndef UseDeprecatedKeyboardDriver
  468. #define UseDeprecatedKeyboardDriver YES
  469. #endif
  470.  
  471. #if HasGcc
  472. # if OSMajorVersion > 4
  473. #  ifndef DefaultCCOptions
  474. #   ifdef UseInstalled
  475. #    define DefaultCCOptions -DNO_ASM
  476. #   elif OSMinorVersion > 6
  477. #    define DefaultCCOptions -DNO_ASM GccWarningOptions
  478. #   elif OSMinorVersion > 3
  479. #    define DefaultCCOptions -DNO_ASM GccWarningOptions -ansi -pedantic
  480. #   else
  481. #    define DefaultCCOptions -DNO_ASM
  482. #   endif
  483. #  endif
  484. # endif
  485. # if HasGcc2
  486. #  ifndef CcCmd
  487. #   define CcCmd gcc
  488. #  endif
  489. #  ifndef AsCmd
  490. #   define AsCmd CcCmd -c -x assembler
  491. #  endif
  492. #  ifndef OptimizedCDebugFlags
  493. #   ifdef i386Architecture
  494. #    define OptimizedCDebugFlags DefaultGcc2i386Opt
  495. #   else
  496. #    define OptimizedCDebugFlags -O2
  497. #   endif
  498. #  endif
  499. #  if !defined(SharedLibraryLoadFlags) && !defined(SharedLibraryLdCmd)
  500. #   if OSMajorVersion == 5 && OSMinorVersion > 6 && defined(i386Architecture)
  501.     /* This is to work around what appears to be a PIC bug in some gcc/egcs
  502.        versions that shows up with the Solaris 7/x86 <ctype.h>. */
  503. #    define SharedLibraryLdCmd $(LD)
  504. #    define SharedLibraryLoadFlags -G -z textwarn
  505. #   else
  506. #    define SharedLibraryLdCmd $(CC)
  507. #    define SharedLibraryLoadFlags -shared -z text
  508. #   endif
  509. #  endif
  510. # else
  511. #  define SharedLibraryCcCmd cc
  512. #  define ExtraLoadFlags -B/usr/bin/
  513. #  define AllocateLocalDefines /**/
  514.  
  515. .c.o:
  516.     ClearmakeOSName    $(CC) -c $(CFLAGS) $*.c
  517.  
  518. # endif /* HasGcc2 (else) */
  519.  
  520. #else /* not HasGcc */
  521.  
  522. # define AllocateLocalDefines -DINCLUDE_ALLOCA_H
  523.  
  524. /* Set up compiler-dependent options for Sun C */
  525. /*
  526.  * To build 64-bit binaries define Sparc64Architecture in your site.def 
  527.  * or host.def file.
  528.  */
  529. # if HasSunC
  530. #  ifdef Sun3Architecture
  531. #   ifndef DefaultCCOptions
  532. #    define DefaultCCOptions -f68881 -pipe
  533. #   endif
  534. #  else    /* not defined(Sun3Architecture) */
  535. #   if OSMajorVersion < 5
  536. #    ifndef DefaultCCOptions
  537. #     define DefaultCCOptions -pipe
  538. #    endif
  539. #   else /* OSMajorVersion >= 5*/
  540. #    ifndef DefaultCCOptions
  541. #     ifndef Sparc64Architecture
  542. #      define DefaultCCOptions -Xa -v -zlazyload -zcombreloc -xstrconst -xildoff
  543. #     else
  544. #      define DefaultCCOptions -Xa -v -xarch=v9 -zlazyload -zcombreloc -xstrconst -xildoff
  545. #      define LargePICTable YES
  546. #     endif
  547. #    endif
  548. #   endif    
  549. #  endif    
  550. # endif
  551.  
  552. /* Set compiler-dependent options for CenterLine C */
  553.  
  554. # if HasCenterLineC
  555. #  ifndef DefaultCCOptions
  556. #   define DefaultCCOptions -Xt -w1 -DANSICPP -U__HIGHC__
  557. #  endif
  558. #  ifndef NeedConstPrototypes
  559. #   define NeedConstPrototypes YES
  560. #  endif
  561. #  ifndef NeedNestedPrototypes
  562. #   define NeedNestedPrototypes YES
  563. #  endif
  564. #  ifndef NeedVarargsPrototypes
  565. #   define NeedVarargsPrototypes YES
  566. #  endif
  567. # endif
  568.  
  569.  
  570. # define PexCCOptions DefaultCCOptions
  571.  
  572. #endif /* HasGcc (else) */
  573.  
  574. #if OSMajorVersion < 5
  575. # define SharedAllocateLocalDefines -DINCLUDE_ALLOCA_H
  576. # define LibraryCCOptions /* don't want special floating point */
  577. #else /* OSMajorVersion >= 5, i.e. Solaris 2.0 & later */
  578. /* Only load libraries when needed on Solaris 7 & later */
  579. # if OSMinorVersion >= 7 
  580. #  define LazyLoadFlag -Wl,-z,lazyload
  581. # else
  582. #  define LazyLoadFlag /* */
  583. # endif
  584. /* ExtraLoadFlags apply to all binaries - programs & libraries */
  585. # ifndef ExtraLoadFlags
  586. #  define ExtraLoadFlags LazyLoadFlag
  587. # endif
  588. /* Build progams with non-executable stacks on Solaris 9 & later */
  589. # if OSMinorVersion >= 9 
  590. #  define NonExecStackLoadFlag -Wl,-M,/usr/lib/ld/map.noexstk
  591. # else
  592. #  define NonExecStackLoadFlag /* */
  593. # endif
  594. /* ExtraLoadOptions only apply to programs */
  595. # ifndef ExtraLoadOptions
  596. #  define ExtraLoadOptions NonExecStackLoadFlag
  597. # endif
  598. #endif /* OSMajorVersion < 5 */
  599.  
  600. #if OSMajorVersion > 4
  601. # include <svr4.cf>
  602. #endif
  603.  
  604. #ifndef ManKeywordsTarget
  605. # define ManKeywordsTarget(manpath)                    @@\
  606. man_keywords::                                @@\
  607.     catman -M $(DESTDIR)manpath -w
  608. #endif
  609.  
  610. #if !defined(UsePamLibrary)
  611. # if (OSMajorVersion > 5) || ((OSMajorVersion == 5) && (OSMinorVersion >= 4))
  612. #  define UsePamLibrary        YES
  613. # endif
  614. #endif
  615.  
  616. /* PAM appeared in SunOS 5.6 */
  617. #if !defined(HasPam)
  618. # if (OSMajorVersion > 5) || (OSMajorVersion == 5 && OSMinorVersion >= 6)
  619. #  define HasPam        YES
  620. # endif
  621. #endif
  622.  
  623. #ifndef PamLibraries
  624. #define PamLibraries        -lpam
  625. #endif
  626.  
  627. #ifndef HasMotif
  628. # define HasMotif YES
  629. #endif /* !HasMotif */
  630. #ifndef HasMotif2
  631. /* Solaris's Motif2 version is broken and misses XmPrintShell
  632.  * (see http://xprint.mozdev.org/bugs/show_bug.cgi?id=1366) */
  633. # define HasMotif2 NO
  634. #endif /* !HasMotif2 */
  635.  
  636. #define MotifDefines            \
  637.     -DNO_ISDIR -DNO_REGCOMP -DNO_ALLOCA -DBOGUS_MB_MAX -DNO_CONST
  638. #define PamUnixDefines        -DPAM_NIS
  639. #define TtLargePICTable        YES
  640. #define DtSvcDefines        -DXK_MISCELLANY -DMULTIBYTE -DNO_REGCOMP
  641. #define DtSearchDefines        -DI18N_MSG DtSvcDefines
  642. #define DtWidgetDefines        DtSearchDefines
  643. #define DtPrintDefines        DtSearchDefines
  644.  
  645. #define baseDtMailDefines    \
  646.     -DSunOS=OSMajorVersion\#\#OSMinorVersion -DMMAP_NORESERVE -DSPRO_V2
  647. #ifndef i386Architecture
  648. # define DtMailDefines        baseDtMailDefines
  649. #else
  650. # define DtMailDefines        -DBIG_ENDIAN baseDtMailDefines
  651. #endif
  652.  
  653. #define ArchitectureDefines    -DSUN_ARCHITECTURE
  654.  
  655. #define TtClientExtraLibs    ExtraLibraries -ldl -lintl
  656.  
  657. #define ExportListGenSource    elistgen.sun
  658. #define ShlibExportListOpt(filename)    -M filename
  659.  
  660. #define CdeProjectDefines \
  661.     -DMULTIBYTE -DNLS16 -DMESSAGE_CAT -D_XOPEN_VERSION=4 \
  662.     -D_XOPEN_SOURCE -D__EXTENSIONS__ \
  663.     -DOSMAJORVERSION=OSMajorVersion -DOSMINORVERSION=OSMinorVersion
  664.  
  665.  
  666. /*
  667.  * Turn off HTML manpages like we do under NetBSD.
  668.  */
  669. #ifndef    BuildHtmlManPages
  670. #define    BuildHtmlManPages    NO
  671. #endif
  672.  
  673. /*
  674.  * Turn off seperate configuration directories.
  675.  */
  676. #ifndef    UseSeparateConfDir
  677. #define    UseSeparateConfDir    NO
  678. #endif
  679.  
  680. #ifndef BuildGLULibrary
  681. #if HasSunC
  682. #define BuildGLULibrary NO
  683. #endif
  684. #endif
  685.  
  686.  
  687. /* Hackery for building modules as Solaris shared objects with dependencies */
  688. #if MakeDllModules && DoLoadableServer
  689.  
  690. /* If you change this, you will need to change find-deps.pl to match */
  691. #define DlModuleDependencyName(module) Concat(module,_deps)
  692.  
  693. #define DlModuleTarget(module,deplist,modlist)                          @@\
  694. DepDynamicModuleTarget(module,deplist DlModuleDependencyName(module),modlist LazyLoadFlag `cat DlModuleDependencyName(module)`) @@\
  695.                                     @@\
  696. DlModuleDependencyName(module):                        @@\
  697.     touch $@                            @@\
  698.                                     @@\
  699. clean::                                                                 @@\
  700.         RemoveFile(DlModuleDependencyName(module))
  701.  
  702. #define ObjectModuleTarget(module,objects)                @@\
  703. DlModuleTarget(Concat(module,_drv.so), objects, objects)
  704.  
  705. #define LibraryModuleTarget(module,objects)                @@\
  706. NormalLibraryTarget(module, objects)                    @@\
  707. DlModuleTarget(Concat3(lib,module,.so), objects, objects)
  708.  
  709. #define DepLibraryModuleTarget(module,deplist,objects)            @@\
  710. NormalDepLibraryTarget(module, deplist, objects)            @@\
  711. DlModuleTarget(Concat3(lib,module,.so), deplist, objects)
  712.  
  713. #endif
  714.